|
Cloud Application Management for Platforms (CAMP) is a specification for managing applications in the context of a platform as a service (PaaS) system. CAMP is designed to address the needs of a high-level PaaS system; one in which the consumer (generally a developer or application administrator) provides application artifacts (code, data, graphics, etc.) and specifies which provider-supplied services are required to realize these artifacts as an application. The details of the infrastructure (compute, storage, and networking) used to support these services are hidden from the consumer by the provider of the PaaS system. CAMP defines the following: * A domain-specific language that describes the artifacts that make up an application, the services that are required to execute or utilize those artifacts, and the relationship of the artifacts to those services. * A resource model for representing applications and their constituent components as well the services used by those components along with runtime status information, configuration information, and metadata that describes the PaaS system. * A RESTful protocol for manipulating these resources and, by so doing, changing the state of the underlying application. ==Motivation== Most PaaS systems provide some form of application management API. These APIs are used to upload applications into the cloud, configure which services will be used to run the application, start the application, monitor the status and performance of the application, stop the application, etc. These APIs are usually hidden behind a web application and/or a command line tool. This kind of API is a "me too" technology; its existence is a necessary prerequisite to providing a workable PaaS system, but there is little advantage in providing a better management API than your competitors. No one ever selected a PaaS offering solely on the strength of its application management API. Meanwhile, the fact that every PaaS system provides a custom application management API creates a number of issues: * Any monitoring or management systems, continuous integration systems, etc. written to consume such APIs will need to be re-written if a customer wishes to change or add additional PaaS systems. This increases the cost of switching between PaaS providers which, in turn, decreases the value of using PaaS. * Integrated Development Environments that wish to target PaaS environments must do so on an individual, case-by-case basis (for example, by providing custom connectors for each PaaS system). This both increases the initial development effort as well as the accumulated "technical debt" of maintaining each of these connectors. * Because the quality of the application management API is not a differentiator, time spent designing/tweaking the management API is not a good investment. Platform providers can save time and resources by implementing a basic, consensus API. Value-added features can be implemented as extensions to this basic API. 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Cloud Application Management for Platforms」の詳細全文を読む スポンサード リンク
|